#ifndef PROJECTMANAGER_H
#define PROJECTMANAGER_H

#include "ProjectManager_global.h"
#include "moduleobj.h"
#include "projectobj.h"


namespace xvs {

class ProMgrData;

class ProjectObj;

/**
 * @brief The ProjectManager class 工程管理，启动则存在默认:工程1
 */
class PROJECTMANAGER_EXPORT ProjectManager : public AbstractProjectMgr
{
    Q_OBJECT
public:
    ProjectManager();
    ~ProjectManager();

    QJsonObject Save(const QString&) override;

    int Execute();

public:

    void NewProject();
    void OpenProject();
    void CloseProject();
    void CloseAllProject();
    void SetActiveProject(ProjectObj* obj);
    ProjectObj* ActiveProject();

private:
    ProMgrData* d_ptr;
};


}

#endif // PROJECTMANAGER_H
